package cn.iocoder.yudao.module.fm.controller.admin.tunnel.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;

/**
 * 隧道 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class TunnelBaseVO {

    @Schema(description = "版号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "版号不能为空")
    private String no;

    @Schema(description = "材质", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "材质不能为空")
    private String material;

    @Schema(description = "围岩、岩性及埋深", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "围岩、岩性及埋深不能为空")
    private String surroundingRockLithologyAndDepthOfBurial;

    @Schema(description = "长度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "长度不能为空")
    private String length;

    @Schema(description = "衬砌厚度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "衬砌厚度不能为空")
    private String thicknessOfLining;

    @Schema(description = "二衬浇筑时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "二衬浇筑时间不能为空")
    private String secondLiningPouringTime;

    @Schema(description = "特征", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "特征不能为空")
    private String features;

    @Schema(description = "病害", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "病害不能为空")
    private String diseaseAndDisease;

    @Schema(description = "立架班组长", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "立架班组长不能为空")
    private String leaderOfTheStandTeam;

    @Schema(description = "混凝土班组长", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "混凝土班组长不能为空")
    private String teamLeaderOfConcreteClass;

    @Schema(description = "带模注浆班组长", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "带模注浆班组长不能为空")
    private String groupLeaderOfGroutingClassWithMold;

    @Schema(description = "湿喷机械手", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "湿喷机械手不能为空")
    private String wetSprayManipulator;

    @Schema(description = "防排水班组长", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "防排水班组长不能为空")
    private String leaderOfDrainageTeam;

    @Schema(description = "技术员", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "技术员不能为空")
    private String technician;

    @Schema(description = "质检员", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "质检员不能为空")
    private String qualityInspector;

    @Schema(description = "测量员", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "测量员不能为空")
    private String surveyor;

    @Schema(description = "监理工程师", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "监理工程师不能为空")
    private String engineerOfSupervision;

    @Schema(description = "二维码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String qrCode;

}

